Various protocols are used to transfer data over networks, both wired and wireless. Each operates according to certain rules and attempts to optimize a set of parameters.
For example, TCP/IP optimizes packet delivery for maximum bandwidth (or minimizing delay with certain options) while maintaining delivery guarantees for varying transport conditions. The sending node adjusts transmissions based on the round time delay time (RTT) and the arrival of acknowledgments (ACKs) from the remote receiving node.
For example, when large multimedia files, such as video clips, are delivered using progressive download with HTTP over TCP, the media objects are delivered at the maximum rate achievable by the underlying transport. If the transit network bandwidth and the content server delivery rate are high compared to the bit rate of the multi-media content, the video clip download completes within a small fraction of the total presentation time of content.
FIG. 1 is an example that shows the delivery of a 10 MByte media clip file 20, such as a video. FIG. 1 shows multi-media file delivery with Progressive download over HTTP/TCP transport. The figure shows a burst of TCP packets 30, comprising a 10 MB object being transferred at the rate achievable by the underlying TCP. The example assumes that the requesting client has enough buffer space to store the content, and the content source can transmit the content at a rate greater than the TCP transfer rate to the client. The file has a presentation time of about 10 minutes. In this example, this 10 Mbyte file 20 is delivered to the client using a wireless network with a Radio Link Bandwidth of 1 Mbit/Sec. FIG. 1 shows while the presentation time for the video clip 20 is about 10 minutes, the file may be delivered to the client device in about 80 seconds if the client's buffer is sufficient to hold 10 Mbytes, and transport network bandwidth is 1 Mbs at the time. The clip 20 is delivered to the client device using a series of packets 30.
In many embodiments, this behavior is acceptable, or even preferable. This allows the entire file 20 to be available very early in the presentation, thereby allowing the user to fast forward if desired. In terms of network traffic, the file is delivered quickly, thereby allowing network resources to be used for other activities.
However, if the user cancels the viewing operation, such as by clicking a different content link or closing the browser or application, while watching multi-media content, the wireless network resources used for downloaded, but not viewed, content are wasted.
Streaming Protocols (for example, Real Time Protocol using UDP (RTP/UDP), or Streaming over TCP) adjust the packet transmission rate based on the transmission rates expected by the type of encoding of the specific content. For example, some encoding utilizes constant bit rates (CBR), while other encodings utilize variable bit rates (VBR). Based on this, the sending node, or streamer, and the transport protocol adjust the packet rate to match the content bit rate. The transit network devices may police or rate shape the traffic to the corresponding bit rate (either CBR or VBR). Performing rate shaping based on the encoding type delays the start of presentation (since the decoder needs to receive packets for the frame buffer at the CBR/VBR stream rate independent of the underlying transport). Furthermore, since the traffic source (streamer) and the transport protocol are performing rate-shaping on the packet streams, the underlying network needs to guarantee jitter for delivering such streams. Jitter guarantees are impossible to achieve under varying link conditions, such as in wireless access networks. The streamer or rate scheduler presents packets to the network based on the encoding rate of the content independent of transport rate that the underlying network, such as a mobile wireless network, could support at that instant.
FIG. 2 shows multi-media file delivery using streaming, where the streamer controls the transfer rate per the content encoding rate. The streaming protocol could be RTP/UDP or RTMP/TCP. The short term transfer rate on the wireless medium may not be the maximum transfer rate achievable on the wireless portion of the network. Packets 40 are delivered throughout the presentation time, based on the rate shaping that is performed.
Other streaming protocols, such as Real Time Messaging Protocol (RTMP), minimize wasted network bandwidth for media content transferred to the client but not viewed, by limiting the amount of content transferred ahead of the presentation time. The protocol uses a client player and a server that cooperate to control buffering in the client. The protocol also measures transit network bandwidth and selects alternate resolutions of the same content. However, this protocol requires cooperation between the client and server to monitor the client's buffer. This capability may not be readily available for all playback mechanisms.
It would be beneficial if there were a system and method that maximized network resources, while also contemplating that many video clips are terminated early during their presentation. It would be advantageous if such a system operated seamlessly with existing protocols and applications.